When creating and editing a document, users may make revisions to update the document or document content. The content management system can create a new version of the document after it has been revised. Older versions of the document can be either saved or deleted when the user creates a new version. However, each save or delete interaction with the server must be managed by the user or the client application.
For many document types, there may be a requirement to retain the previous versions of the document. For other document types, a predetermined number of the latest versions must be maintained. In conventional content-management systems, the client application must explicitly request the creation of a new version of a document (also interchangeably referred to herein as an item). When a user updates the document, the client application must first specify the document identification, or itemID, to be updated, and then indicate whether to replace the existing version of the document or to create a new version for this updated document. Thus, the user or the client application must make the decision on every transaction type for updating a document. Consequently, the user must make a decision whether to save old versions every time a document is edited or revised. However, the user can easily lose track of the changes and revisions.
There is therefore a still unsatisfied need for a content management system that automatically manages document versioning for users and client applications.